import pygame
from random import *


class Bullet_Supply(pygame.sprite.Sprite):  # 子弹补给类 继承自精灵类
    def __init__(self, bg_size):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("images/bullet_supply.png").convert_alpha()  # 加载补给图像
        self.rect = self.image.get_rect()  # 获取图像位置
        self.width, self.height = bg_size[0], bg_size[1]  # 获取补给位置
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100  # 规定补给生成位置 随机生成
        self.speed = 5
        self.active = False
        self.mask = pygame.mask.from_surface(self.image)

    def move(self):  # 移动
        if self.rect.top < self.height:  # 在边界内 向下移动
            self.rect.top += self.speed
        else:  # 否则失活
            self.active = False

    def reset(self):  # 重置
        self.active = True
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100  # 重新生成补给


class Bomb_Supply(pygame.sprite.Sprite):  # 炸弹补给
    def __init__(self, bg_size):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("images/bomb_supply.png").convert_alpha()  # 加载补给图像
        self.rect = self.image.get_rect()  # 获取图像位置
        self.width, self.height = bg_size[0], bg_size[1]  # 获取补给位置
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100  # 规定补给生成位置 随机生成
        self.speed = 5
        self.active = False
        self.mask = pygame.mask.from_surface(self.image)

    def move(self):  # 移动
        if self.rect.top < self.height:  # 在边界之内 向下移动
            self.rect.top += self.speed
        else:
            self.active = False

    def reset(self):  # 重置
        self.active = True
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100  # 重新生成补给


# class Life_Supply(pygame.sprite.Sprite):  # 炸弹补给
#     def __init__(self, bg_size):
#         pygame.sprite.Sprite.__init__(self)
#
#         self.image = pygame.image.load("images/Green.png").convert_alpha()  # 加载补给图像
#         self.rect = self.image.get_rect()  # 获取图像位置
#         self.width, self.height = bg_size[0], bg_size[1]  # 获取补给位置
#         self.rect.left, self.rect.bottom = \
#             randint(0, self.width - self.rect.width), -100  # 规定补给生成位置 随机生成
#         self.speed = 5
#         self.active = False
#         self.mask = pygame.mask.from_surface(self.image)
#
#     def move(self):  # 移动
#         if self.rect.top < self.height:  # 在边界之内 向下移动
#             self.rect.top += self.speed
#         else:
#             self.active = False
#
#     def reset(self):  # 重置
#         self.active = True
#         self.rect.left, self.rect.bottom = \
#             randint(0, self.width - self.rect.width), -100  # 重新生成补给


class Bullet_Supply1(pygame.sprite.Sprite):  # 子弹补给类 继承自精灵类
    def __init__(self, bg_size):
        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("images/bullet_supply.png").convert_alpha()  # 加载补给图像
        self.rect = self.image.get_rect()  # 获取图像位置
        self.width, self.height = bg_size[0], bg_size[1]  # 获取补给位置
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100  # 规定补给生成位置 随机生成
        self.speed = 5
        self.active = False
        self.mask = pygame.mask.from_surface(self.image)

    def move(self):  # 移动
        if self.rect.top < self.height:  # 在边界内 向下移动
            self.rect.top += self.speed
        else:  # 否则失活
            self.active = False

    def reset(self):  # 重置
        self.active = True
        self.rect.left, self.rect.bottom = \
            randint(0, self.width - self.rect.width), -100  # 重新生成补给

